package com.hanamaki.unit.junit;

import com.hanamaki.unit.junit.util.FileUtil;
import com.hanamaki.unit.junit.util.JDBCUtil;
import org.junit.Assert;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;

@RunWith(Parameterized.class)
// 指定运行器runner:使用参数化运行器来运行
public class ParameterTest {
    static Calc calc;

    @BeforeClass
    public static void setUp() {
        calc = new Calc();
    }

    // 定义 需要的数据
    private int a; // 参数1
    private int b; // 参数2

    private int result; // 预期值

    // 构造器
    public ParameterTest(String a, String b, String result) {
        this.a = Integer.parseInt(a);
        this.b = Integer.parseInt(b);
        this.result = Integer.parseInt(result);
    }

    @Parameterized.Parameters
    // 构造参数  二维数组
    public static Object[][] parameter() {

//        return new Object[][]{
//                new Object[]{2, 3, 5},
//                new Object[]{5, 6, 11},
//                new Object[]{4, 3, 8},
//                new Object[]{9, 31, 40}
//        };

//        return JDBCUtil.getSqlContent("calc");

        return FileUtil.getFileContent("src/com/hanamaki/unit/junit/calc.txt");
    }

    @Test
    public void testAdd() {
        int act = calc.add(this.a, b);
        // 断言判断是否通过
        Assert.assertEquals(result, act);
    }



}
